package com.ruoyi.business.service;

import com.ruoyi.business.domain.TRecipientInfo;
import com.ruoyi.business.domain.TServerMerInfo;

import java.util.List;

/**
 * 收款账号Service接口
 * 
 * @author ruoyi
 * @date 2024-02-26
 */
public interface ITRecipientInfoService 
{
    /**
     * 查询收款账号
     * 
     * @param id 收款账号主键
     * @return 收款账号
     */
    public TRecipientInfo selectTRecipientInfoById(Long id);

    /**
     * 查询收款账号列表
     * 
     * @param tRecipientInfo 收款账号
     * @return 收款账号集合
     */
    public List<TRecipientInfo> selectTRecipientInfoList(TRecipientInfo tRecipientInfo);

    public List<TRecipientInfo> selectTRecipientInfoListByNoAuth(TRecipientInfo tRecipientInfo);
    /**
     * 新增收款账号
     * 
     * @param tRecipientInfo 收款账号
     * @return 结果
     */
    public int insertTRecipientInfo(TRecipientInfo tRecipientInfo);

    /**
     * 修改收款账号
     * 
     * @param tRecipientInfo 收款账号
     * @return 结果
     */
    public int updateTRecipientInfo(TRecipientInfo tRecipientInfo);

    /**
     * 批量删除收款账号
     * 
     * @param ids 需要删除的收款账号主键集合
     * @return 结果
     */
    public int deleteTRecipientInfoByIds(String ids);

    /**
     * 删除收款账号信息
     * 
     * @param id 收款账号主键
     * @return 结果
     */
    public int deleteTRecipientInfoById(Long id);

    List<TRecipientInfo> getAvailableListByMoney(long userId, TServerMerInfo tServerMerInfo, long money, String channel);


    List<TRecipientInfo> getAvailableListBySupportMoney(long userId,TServerMerInfo tServerMerInfo,long money,String channel);


//    List<RecipientInfo> getAvailableListNew(Long agentsMaster, String code, String channel,Long money);

    List<TRecipientInfo> getAvailableListNew(TRecipientInfo recipientInfoParam);


    List<TRecipientInfo> getAvailableList(long userId,String channelType,String channel);

    List<TRecipientInfo> getRecipientInfo(TRecipientInfo recipientInfo);

    public void resetTRecipientInfo();

    List<TRecipientInfo> selectTRecipientGroupNameList(TRecipientInfo recipientInfo);

    public void serviceRecip(Long userId, Long[] serveMerIds);


}
